home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung (Tewi)(1994).iso / magazine / progjour / 1991 / 02 / gmhook.c < prev    next >
Text File  |  1991-01-09  |  1KB  |  53 lines

  1. #include "windows.h"
  2. #include "gmhook.h"
  3.  
  4. FARPROC     lpfnOldGMHook  = 0;
  5. HWND        hwndCallBackGM = 0;
  6. BOOL        bGMHookActive  = FALSE;
  7. unsigned    usMsgGM        = 0;
  8. WORD        _acrtused      = 0;
  9.  
  10. DWORD   FAR PASCAL whGetMessageHook(int iCode, WORD wParm, LPMSG lParm)
  11. {
  12.     if (iCode < 0) {
  13.         return(DefHookProc(iCode, wParm, (LONG)lParm, &lpfnOldGMHook));
  14.     }
  15.     if ((iCode == HC_ACTION) && bGMHookActive) {
  16.         if (lParm) {
  17.             if (lParm->message == WM_NCRBUTTONDBLCLK) {
  18.                 PostMessage(hwndCallBackGM, usMsgGM, 0, 0L);
  19.             }
  20.         }
  21.     }
  22.     return(DefHookProc(iCode, wParm, (LONG)lParm, &lpfnOldGMHook));
  23. }
  24.  
  25. VOID FAR PASCAL whInstallGMHook(HWND hwnd, unsigned msg)
  26. {
  27.     lpfnOldGMHook = SetWindowsHook(WH_GETMESSAGE, (FARPROC)whGetMessageHook);
  28.     hwndCallBackGM = hwnd;
  29.     usMsgGM        = msg;
  30. }
  31.  
  32. VOID FAR PASCAL whRemoveGMHook(VOID)
  33. {
  34.     UnhookWindowsHook(WH_GETMESSAGE, (FARPROC)whGetMessageHook);
  35. }
  36.  
  37. BOOL FAR PASCAL whEnableGMHook(BOOL bEnable)
  38. {
  39.     return(bGMHookActive = bEnable);
  40. }
  41.  
  42. int FAR PASCAL LibMain(HANDLE hModule,  WORD wDataSeg, 
  43.                        WORD cbHeapSize, LPSTR lpszCmdLine)
  44. {
  45.     return(1);
  46. }
  47.  
  48. int FAR PASCAL WEP(int bSystemExit)
  49. {
  50.     return(1);
  51. }
  52.  
  53.